import request from './request'

// 角色管理API
export const roleApi = {
  // 创建角色
  createRole(data) {
    return request({
      url: '/roles',
      method: 'post',
      data
    })
  },

  // 更新角色
  updateRole(id, data) {
    return request({
      url: `/roles/${id}`,
      method: 'put',
      data
    })
  },

  // 删除角色
  deleteRole(id) {
    return request({
      url: `/roles/${id}`,
      method: 'delete'
    })
  },

  // 根据ID获取角色
  getRoleById(id) {
    return request({
      url: `/roles/${id}`,
      method: 'get'
    })
  },

  // 分页查询角色
  getRoles(params) {
    return request({
      url: '/roles',
      method: 'get',
      params
    })
  },

  // 获取所有角色（树形结构）
  getAllRolesTree() {
    return request({
      url: '/roles/tree',
      method: 'get'
    })
  },

  // 获取角色权限预览
  getRolePermissionPreview(id) {
    return request({
      url: `/roles/${id}/permissions`,
      method: 'get'
    })
  },

  // 为角色分配权限
  assignPermissionsToRole(requestData) {
    return request({
      url: `/roles/assign/permission`,
      method: 'post',
      data: requestData
    })
  },

  // 获取角色的用户列表
  getRoleUsers(id) {
    return request({
      url: `/roles/${id}/users`,
      method: 'get'
    })
  },

  // 复制角色（暂时禁用）
  copyRole(id, newRoleCode, newRoleName) {
    return Promise.reject(new Error('复制角色功能暂未实现'))
  }
}
